/**
 * 
 */
package edu.erpan.util.entityManager;

import java.util.List;

import edu.erpan.util.entityManager.exceptions.IdNotFoundException;
import edu.erpan.util.entityManager.exceptions.PersistException;
import edu.erpan.util.entityManager.exceptions.QueryException;

/**
 * @author Jeison
 *
 */
public interface IGenericEntityManager<E extends DefaultEntity> {

	public void saveEntity(E entity) throws PersistException;

	public E findEntity(E entity) throws QueryException,IdNotFoundException;
	
	public void mergeEntity(E entity) throws QueryException,IdNotFoundException;

	public List<E> retrieveAllEntities() throws QueryException;
	
	public void deleteEntity(E entity) throws QueryException,IdNotFoundException;

}
